home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
game
/
misc
/
Quest.lha
/
Quest
/
doc
/
quest.doc
< prev
Wrap
Text File
|
1999-01-28
|
33KB
|
791 lines
Q U E S T
(QUake Editing STation)
Release v.1.1
http://www.nuc.net/quest
Copyright (c) 1996
Chris Carollo
and
Trey Harrison
PART I - Getting Started
1.0 Overview of Quake Editing
1.1 Brushes
1.2 Entities
1.3 Linking brushes and entities
2.0 What You Need to Start Editing
2.1 Quest
2.2 Wad files
2.3 Pak files
2.4 Building Maps
2.5 Running Maps
PART II - Editing with Quest
3.0 The Quest Screen Layout
3.1 The Editing Area
3.2 The Message Area
3.3 The Tool Area
3.4 The Menu Area
3.5 The Status Area
4.0 Editing Modes in Quest
4.1 Brush
4.2 Face
4.3 Entity
4.4 Script
5.0 Viewing Modes in Quest
5.1 2-D Mode
5.2 3-D Mode
5.3 BSP Mode
PART IV - Appendices
A Troubleshooting
----------------
PART I
Getting Started
----------------
1.0 OVERVIEW OF QUAKE EDITING
-----------------------------
There are three basic elements to editing maps in Quake:
1.1 Brushes
-----------
The basic building block of all Quake maps is the brush. A brush
is nothing more than a convex polyhedron. Many people have given
very complex descriptions of brushes, but in truth they are pretty
simple.
A 3-dimensional polyhedron (plural polyhedra) is a collection of
polygons that enclose a space. A polyhedron must be closed, and
therefore must contain at least four polygons (or "faces"), which
would form a tetrahedron. A cube is a polyhedron with 6 faces.
Polyhedra can consist of any number of polygons.
A *convex* polyhedron is simply a polyhedron that has no "dents"
or places where it folds back upon itself. If you fire any line
through a convex polyhedron, it will never intersect the polyhedron
more than twice (once on its way in, once on its way out). If it
enters, exits, and then enters again, then the polyhedron isn't
convex. If you know the different between a convex and concave
polygon, just apply this to a 3-dimensional case.
When a Quake map is compiled, a huge merge is done of all the faces
of all the brushes in a map. QBSP fuses all brushes together and
discards the parts that are inside other brushes or outside the
useable part of the map. This is one of the reasons why it is
important to make sure that maps are "sealed" - so that Quake can
discard all those faces that are on the outside of the map.
Another important concept is that brushes are solid. With the exception
of water, acid, and lava brushes (more on those later), you can not be
"inside" a brush.
1.2 Entities
------------
Another primary element of Quake maps is the entity. Entities
include player starts, enemies, weapons, powerups, and lights.
1.3 Linking Brushes and Entities
--------------------------------
There are certain entities that aren't physical entities at all,
but are just descriptions for behaviors of certain brushes.
These include doors, lifts, platforms, and teleporters, which
are referred to as "Scripts" in Quest.
2.0 WHAT YOU NEED TO START EDITING
----------------------------------
2.1 Quest
---------
Requirements:
- 486 or Pentium-class computer. A Pentium is strongly
reccomended.
- A mouse.
- A VESA-compatable video card.
- Registered Quake.
Setup of Quest:
1 - Unzip Quest using the -d flag. (the -d is VERY important!)
2 - Edit the quest.cfg file to your liking. At the very least
edit the entry for the default wadfile. (more on the wadfile
later).
3 - Edit the mdlref.lst and point all the entries to your
pak files. Global replace in Edit.com is real handy here.
2.2 Wad files
------------
Wad files are nothing more than collections of textures that can
be applied to brushes. They can be either downloaded or generated.
Some of the wad files used by id can be downloaded directly from
the Quest homepage, or many other sources on the net.
There are also other utilities available that will rip all the
textures out of a pak or bsp file and generate a wad that you can
use. Be warned that very large wad files may possibly not work
with Quest.
I reccomend creating a directory in which to place all your wadfiles.
Once you have a wadfile that you'd like to use, be sure to edit
quest.cfg and specify it so that Quest will use it by default on
startup.
However, if a wad file is specified in a .map file that is loaded,
this wad file will be used within Quest.
2.3 Pak files
-------------
Pak files are the main data files for Quake. The two pak files
are located in the id1 directory inside your Quake directory.
These files contain all the bsps, textures, models, and other
miscellaneous structures in Quake. If you have Registered Quake
(and you better, if you're going to be editing maps),
2.4 Building Maps
-----------------
In order to run a map file in Quake, it must first be compiled
into a bsp. There are three programs used in this process:
qbsp - This actually creates the bsp tree and portalizes
the map, checks for leaks, and removes polygons on
the outside of the map. It's also a memory hog, so
either run it on a monster of a machine (upwards of
64 megs of ram), or expect to swap to disk quite a bit.
light - This does all the pretty lighting in Quake. Depending
on the number of lights and the architecture of the map,
it can be the most time-consuming portion of the
compiling process during testing.
vis - This builds the PVS (Potentially Visible Set). It
basically builds and RLE compresses a list of which
BSP leaves can see each other. When not doing a
test build with the -fast parameter, it can take
enormous emounts of time to process.
These utilities can be found many places on the web, compiled for
both DOS and WinNt/95.
2.5 Running Maps
----------------
In Quake, if you type "map mymap" in the console (or run "quake
+map mymap), it will look for the file id1/maps/mymap.bsp by default.
So in order to run a map, it should be placed into the id1/maps
directory off of your quake directory.
Quake also has the capability to look for maps first in another
directory tree, which can be specified with the "-game" parameter.
If you ran "quake -game mygame", Quake would first look in the
mygame tree (still off the Quake directory) for all its files,
and then in the id1 tree.
So if you made a mygame/maps directory in your Quake directory, it
would look first there for your maps, then in id1/maps.
------------------
PART II
Editing with Quest
------------------
3.0 THE QUEST SCREEN LAYOUT
---------------------------
The Quest editing screen is broken into five main areas:
3.1 The Editing Area
--------------------
The main editing area consists of one or more viewports. The
active viewport is designated by a bright white outline, as
opposed to a greyer outline for inactive viewports. To make
an inactive viewport active, simply click on it. The camera
is manipulated using the following keys:
A Move Forward
Z Move Backward
Left Strafe Left
Right Strafe Right
Up Strafe Upward
Down Strafe Downward
Alt-Left Rotate left
Alt-Right Rotate right
Alt-Up Look up
Alt-Down Look down
S Zoom map in (2-d mode only)
X Zoom map out (2-d mode only)
Note that the strafing commands always behave consistently,
regardless of the direction in which the camera is pointing.
However, the rotate left and rotate right commands always
rotate as if the camera were not pointed up or down. You can
think of this as a person turning to their left or right while
looking at their toes or at the moon.
Mouse movement is also supported. While holding down the right
mouse button you can drag around the camera. If you hold down
both the right and the left mouse buttons you can move the camera
depthwise, also.
The camera limitations of 90 degrees is completely intentional,
and is not likely to change. Elements can only be moved in
the plane parallel to the view plane (perpendicular to the view
direction). Allowing the user to edit at a skewed angle introduces
many problems, all of which are eliminated by limiting the editing
to planes parallel to the principal axes.
A freelook-style view option will be added and used to view the
map, but editing will not be allowed in this mode.
3.2 The Message Area
--------------------
The message area contains informative messages about the status
of the map and of Quest as you edit. It can be scrolled backward
and forward using the up and down buttons and the scrollbar on the
right side of the area.
3.3 The Tool Area
-----------------
The tool area contains buttons that can be used as shortcuts to
functions:
[ Many not yet implemented. ]
Adding a Cube Brush - the button with the cube is used to add
a new cubic brush to the map.
Copying - the button with the overlapping squares is used to
copy to the clipboard.
Pasting - the button with the single square is used to copy to
the clipboard.
Deleting - the button with the scrawled X with delete.
Selecting Textures - the button with the large capital letter "T"
is used to select a new texture, and apply it to any selected
brushes/faces.
3.4 The Menu Area
-----------------
The menu area can be used to execute every function available in
Quest. It is set up in a hierarchical fashion (users of 3D Studio
will be familiar with it). As you select a function in the menu,
another submenu (indented slightly) will appear below the current
choices. This menu system has the advantage of having a strongly
structured hierarchy while also allowing the user to select any
of the items along this hierarchy with a single mouse click.
Here are explanations of the menu items:
FILE - General file-related menu
----
New - Clears the current map (after prompting for
confirmation).
Load - Loads a map via the file dialog.
Save - Saves the map as its current name.
Save As - Brings up a file dialog and allows you to specify the
name of your map.
Exit - Exits Quest (after confirmation)
CREATE
------
Brush
~~~~~
Cube - Creates a rectangular brush that attempts to fit to
the size of the currently selected texture.
Prism - Creates prism (or a solid cylinder to the layperson).
It brings up a dialog that is used to specify the
parameters of the prism.
Room - Creates a rectangular room from 6 brushes. It brings
up a dialog that is used to specify the parameters of
the room.
Entity
~~~~~~
Info - Creates info-related items, such as player and
deathmatch starts.
Monster - Creates monsters, such as ogres and fiends.
Weapon - Creates weapons, such as the rocket launcher.
Item - Creates items, such as armor and health.
Light - Creates lights, such as wall torches.
Ambient - Creates ambient sounds.
Script
~~~~~~
Movement
Door - Creates a door.
Lift - Creates a lift.
Platform - Creates a moving platform.
Button - Creates a button.
Change Level - Creates a level changer.
Teleport - Creates a teleporter.
Push - Creates a pushing brush.
SecretDoor - Creates a secret door.
CornerPoint - Creates a path cornerpoint.
Linking
Link - Link a target.
Once - Assign a one-time trigger.
Multiple - Assign a multple trigger.
Count - Assign a trigger with a count.
Relay - Assign a relayed trigger.
Secret - Assign a secret trigger.
Misc
Illusionary - Create an illusionary (walk-through) brush.
ChangeSkill - Create a brush that changes the skill level.
MonsterJump - Create a brush that causes monters to jump.
Hurt - Create a hurt-inducing brush.
Add - Add a brush/entity to a script.
BSP Tree - Rebuilds the BSP for the solid polygon mode.
~~~~~~~~
MODIFY
------
Brush
~~~~~
Rotate - Rotate brushes around a centerpoint.
Scale - Scale brushes around a centerpoint.
Gridsnap - Snap all selected brushes to the grid.
Intersect - Does a boolean intersection on selected brushes.
Subtract - Does a boolean subtraction of selected brushes.
Entity
~~~~~~
Properties - Edit the properties of selected entities.
Rotate - Rotate an entity that may be rotated.
DELETE
------
Brush - Delete selected brushes.
Entity - Delete selected entities.
SETTINGS
--------
Def texture - Select the active texture and apply it to all
selected brushes/faces.
Texture Wad - Select the currently used texture wad.
3.5 The Status Area
-------------------
The status area is used to convey information about the current
status of Quest to the user. It displays such information as
movement deltas, the current texture, and the texture and
centerpoint of brushes.
4.0 EDITING MODES IN QUEST
--------------------------
There are three primary editing modes in Quest. They are switched
between via the TAB key.
4.1 Brush Mode
--------------
As described earlier, brushes are the basic building blocks of
all Quake maps.
In Quest, only brushes that are selected may be edited.
To select a brush, click on it's focal point (denoted by a small
red circle at the center of the brush) while holding down Control.
When a brush is selected, it turns yellow. Many brushes may be
selected at a time by holding down Control and clicking and dragging
a window around multiple focal points (be sure your initial click is
not on a focal point, though!) If a brush is already selected when
it is Control-clicked on, it will become deselected. A Control-click
that does not select any brushes will deselect all currently selected
brushes.
When brushes are selected, the following operations are possible:
Vertex Movement - The vertices of selected brushes may be moved.
Vertices are denoted by cyan squares. They can be dragged
with the left mouse button. Multiple vertices can be selected
by holding down Shift when clicking. If a selected vertex is
Shift-clicked on, it will be deselected. Many vertices can
be selected at a time by Shift-clicking and dragging a window
around multiple vertices. A click away from all vertices will
deselect all currently selected vertices.
Texture Application - A texture can be applied to selected
brushes with the Texture button in the tool area or via
the Settings->Def Texture menu item. All selected brushes
will have the current texture applied to them. Note that
simply selecting brushes will not apply the current texture
to them - you must select the desired brushes, THEN choose
the texture.
Copy Brush - Brushes may be copied to the clipboard via Ctrl-C or
the copy button in the tool area. Note that any brushes already
in the clipboard will be removed when new brushes are copied to
it.
Paste Brush - When brushes are in the clipboard, they may be pasted
to the map via Ctrl-V or the paste button in the tool area. This
is a common method for adding new brushes. Note that a Copy and
a Paste in direct succession will paste the new brush exactly on
top of the old brush, so be sure to move it off the old brush!
Delete Brush - The Delete button, pressing DEL, or selecting
Delete->Brush from the menu will delete all selected brushes
from the map.
Split Face - The face of a selected brush may be split. When
splitting a brush face, you will need to select two points
on the same face of a single brush. These points can be
either vertices, edges, or one of each. An edge is created
between the two selected points. If a selected point is on
an edge, the edge is divided in two and a new vertex is added.
[ Face splitting is not yet implemented ]
Merge Face/Vertex - Really a special case of vertex movement,
vertices and faces can be merged. If a vertex is moved on
top of another vertex in the brush, they will be merged into
a single vertex. If vertex movement causes a face to disappear,
it will be removed from the brush, and its edges will be merged.
[ Face merging is not yet implemented ]
New brushes can be created with the Create->Brush family of
menu items, or with the Create Brush button. When a brush
is created, it is placed a certain distance in front of the
current camera position. It can then be selected and placed
where it is desired.
4.2 Face Mode
-------------
This mode behaves similarly to Brush Mode. The focal points are
green rather than red, and turn yellow when you select the face
because it can be difficult to determine which face is selected.
When you have faces selected, vertices behave as they do in brush
mode, but if you click on the T button, the texture will be applied
to the individual faces. Also, hitting Ctrl-E with a single face
selected will bring up a Face editing Window. It displays a textured
view of the selected face, and allows you to modify the offset/scaling
on it. The following keys can be used:
Ctrl + Up - Increase Y scaling by .05
Ctrl + Down - Decrease Y scaling by .05
Ctrl + Right - Increase X scaling by .05
Ctrl + Left - Decrease X scaling by .05
Up - Move texture Up by snap size
Down - Move texture Down by snap size
Left - Move texture Left by snap size
Right - Move texture Right by snap size
Note that texture rotation is not yet implemented.
4.3 Entity Mode
---------------
Entities are much simpler to work with than brushes. In the
3-d world, they simply have a location, and some have an
orientation. The only operations on entities are addition,
modification, movement, and deletion.
Entities can be adding using the Create->Entity menu tree. Most
of the stock entity types are available there. More will be
added as I determine how Quake creates them.
A short description is displayed in the status area as you
move the mouse pointer over entities.
Entities are moved much as vertices are. Shift allows you to
select entities, which can then can be dragged to their new
positions.
The complexity of entities lies in the fact that entities can
have attributes that define thier properties. For example,
certain items may have light values, and where an item appears
(skill level, coop, deathmatch, etc) is defined with an attribute.
The edit entity button, Edit->Entity, or Ctrl-E will bring up
an Edit Entity dialog, which will allow you to manually enter
attributes. When you click on OK, the displayed attributes will
be applied to all selected entities.
The delete button, prssing DEL, or selecting Delete->Entity from
the menu will delete all selected entities from the map.
4.4 Script Mode
---------------
Scripts are one of the most complicated aspects of editing.
They include attributes on brushes (lifts, doors, moving
platforms), actions on brushes (teleports, buttons, damaging
brushes), linking actions together (triggering actions upon
killing a monster or picking up an item) and other miscellaneous
elements of the map (intermission camera).
Scripts can be done for single or multiple brushes - Quake
allows for both, depending on the script you're trying to
create or modify. Doors, for example, must be defined singly.
Before doing anything more than basic Script editing, please
be sure to read the Quake Map Specs!
Note that many brushes when assigned to scripts become invisible,
so don't panic. Many are that way intentionally.
Links between scripts/entities are signified by a cyan line. Are
links are directional - that is, one end of the link is the "from"
end and the other is the "to" end. The "to" end is differentiated
by a cyan square.
http://www.infi.net/~nichd/qmapspec.html
Here are the following script types supported by Quest:
Doors
Buttons - Select brushes, do Create->Script->Movement->Door or
~~~~~~~ Lift or Button. Fill in any values, and hit okay.
The selected brushes will become doors/lifts/buttons.
Note that brushes assigned to scripts with the same
"create" command all are members of the same script.
Lifts - Similar to Doors and Buttons. The difference with lifts
~~~~~ is that you need to place the lift at its top position
in Quest. When you start the map in Quake, it will start
in the lowered position, but will rise to the top position
when touched.
Teleport - Select brushes. Do a Create->Script->Movement->Teleport.
~~~~~~~~ The selected brushes will become teleport brushes. Create
a teleport destination with Create->Entity->Info. Select
the teleport brush, do a Create->Script->Linking->Link.
Select the teleport destination, and right-click. You
will see the cyan link line.
ChangeLevel - Select brushes. Do a Create->Script->Movement->
~~~~~~~~~~~ ChangLevel. Enter the map to warp to, and the
the selected brushes will become ChangeLevel triggers.
Push - Select brushes. Enter the speed and direction that the brush
~~~~ will cause the player to be pushed.
SecretDoor - Similar to the standard door, with a "secret" status.
~~~~~~~~~~
Platform - Similar to Doors and Lifts. The difference with Platforms
~~~~~~~~ is how to get them to move. The path platforms follow
is defined by a circular string of cornerpoints. You need
to link a string of corner points in a circular manner
(link the first to the second, then link the second to the
third...then link back to the first). After you've linked
the path, link the platform to a cornerpoint. When Quake
starts, the platform will start at the corner point to
which you've linked it. Notice that it does NOT start
where you placed it in the level, but at the corner point
you link it to. Its exact location is defined by the
minimum points of the bounding box of the platform brushes.
CornerPoint - This will create a cornerpoint entity. Corner points
~~~~~~~~~~~ can be used to specify the path that Platforms or
monsters follow.
Link - This isn't so much a script type as it is an action. It
~~~~ creates a link between the specified objects (watch the
message area for what to do when). Links are removed
intelligently when deleting scripts.
Once
Multiple - This does two things. It assigns a trigger to the selected
~~~~~~~~ brushes, and then automatically prompts you for the target
of the trigger. "Once" creates a trigger that will only
activate once. "Multiple" will activate multiple times.
Secret - This acts as the Once and Multiple Triggers, but it a
~~~~~~ "secret" status.
Count - Count and relay scripts are unique. They are applied on
~~~~~ "top" of another trigger. If you have a script that you
would like to activate after being triggered a certain number
of times, a Count trigger should be applied on top of it.
Select the script and do a Create->Script->Linking->Counter.
Specify the number of times you'd like it to be triggered
before it is activated. Then whenever you edit or link to
the script, it will prompt you if you like to edit/link to
the counter or the script itself. As with many things, it
is easier to see it in action, so try it out.
Relay - As with counter scripts, relays are applied on top of existing
~~~~~ scripts. A relay script is triggered when the script linked
to it is triggered. So if you want a series of doors to
open in succession, create them normally, then assign all
doors other than the first one a relay script, and point the
first to the second, second to third, etc. You can also
specify delays in the relay script.
Illusionary - The illusionary script is probably the simplest of all
~~~~~~~~~~~ scripts. It allows the specified brushes to be moved
through, even though they appear solid.
ChangeSkill - This will change the skill level of the player to
~~~~~~~~~~~ the specified skill when they touch the brush.
MonsterJump - This causes any monsters touching this brush to jump
~~~~~~~~~~~ in the specified direction/speed. It can be used for
some very cool effects in a map.
Hurt - This simply causes the player to be hurt by the specified
~~~~ amount whenever they come in contact with the brush.
5.0 VIEWING MODES IN QUEST
--------------------------
In both the 3-D Wireframe and the 2-D Modes, pressing B will toggle
fullbright mode, where there is no depth clipping.
F1 will toggle a fullscreen viewport.
4.1 3-D Wireframe Mode
------------
3-D Wireframe Mode is the primary mode of Quest. It is used as a
realtime-updated view of the map in three dimensions. 3-D mode is
useful for selecting brushes and vertices, because it is fairly
easy to see exactly what is selected, which can be confusing in
2-D mode.
4.2 2-D Mode
------------
2-D Mode (or Flat Mode) is toggled with the F key. 2-D mode is
very useful for alignment and movement, which perspective views
can make almost impossible.
Note that in 2-D mode, sections of the map may be behind the
camera and therefore not displayed, even when fullbright is
enabled.
4.3 BSP Mode
------------
BSP mode is toggled with the F3 key. For a proper display, the BSP
must be re-build after any brush changes, but on most maps this is
very quickly done (a matter of seconds). This can be done via
Create->BSP Tree. This mode allows a solid polygon view of the level
at a good framerate for most maps. It is not used for editing, but
can be helpful for seeing what the map looks like.
Appendix A - TROUBLESHOOTING
----------------------------
Q - I get a "RegisterBitmap" error when starting Quest. Why?
A - Unzip with a "-d" parameter.
Q - I get a "LoadModel" error when starting Quest. Why?
A - Edit the mdlref.lst to point to your pak files.
Q - I get a "Invalid Wadfile" error when starting Quest. Why?
A - Edit the quest.cfg file and specify a valid wadfile.
Q - I get garbage on the screen when using Quest. Why?
A - This is a known problem with the graphics routines/library
that we are using. It is esepecially prevalent on Matrox
cards. Two possible solutions are booting without EMM386,
and running under Win95 (yes, Win95 actually *fixes* this
one in some cases!). There is no "perfect" solution.
Q - Quest keeps complaining that points aren't coplanar. What
does this mean?
A - If you move vertices that cause a face of a brush to become
"warped" or "twisted", you've disrupted the coplanarity of
your face and Quest will notice this and display a warning.
Simply moving it back will fix the problem. It is important
to make sure all vertices on a face lie in the same plane,
or you might get unexpected results when re-loading a map.
Q - Quest complains about a brush not beng convex. Why?
A - When moving vertices, Quest checks to make sure that the
involved brushes maintain their convexity (see section 1.1
for a description of convex vs concave brushes). If your
brush looks convex but Quest still complains, you've probably
turned the brush inside-out. To flip a brush, you must rotate
it - don't drag the bottom vertices over the top ones.
Q - qbsp reports a leak in my map and my maps won't vis! What's
the problem?
A - This is because the map isn't sealed...which can be a very
annoying and difficult problem to track down. Here's
what to do about it:
1. Copy the bsp file that qbsp output to your maps directory
(it's okay that vis didn't work, for now).
2. qbsp should have output a .pts file, also. Copy it
to the same location of your bsp file.
3. Start quake as you normally would, and load your map.
4. From the console, type "pointfile".
5. Quake will then load the .pts and display a string of
points that go through the leak. Make sure you turn
off the display of brush models, because even if doors/
lifts cover a hole, the map is still considered "not
sealed". Sometimes it's easier to turn on No Clipping
("noclip" from the console) and track the points from the
outside of the map in.
Note that qbsp will not always report a leak, but if a map doens't
vis and qbsp outputs a .pts file, then a leak exists.
I've heard of strange occurances where qbsp won't output a .prt
file (necessary for vis-ing), but it won't output a .pts file
either. I'm not sure what causes this, or of any solutions to it.